home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / LIB / DESKLIB / CORE / DeskLib / Docs / BetaUpdate < prev    next >
Text File  |  1995-09-02  |  16KB  |  590 lines

  1. Updates between DeskLib beta versions since version 2.16 .
  2.  
  3.  
  4. 2.30 (02 Sep 1995)
  5.  
  6. 02 Sep 1995
  7.  
  8. Added filetypes MSX2, RLE, COLORIX, FITS, HAWKV9, REPLAY in File.h
  9. Added GFX_Mode, GFX_SetOrigin.
  10. Added osbyte_WRITEVDUDRIVERBANK and osbyte_WRITEDISPLAYHARDWAREBANK to
  11. the osbyte enumeration.
  12.  
  13. Fixed a bug in Sprite_MemorySize - it now works with 'double pixel'
  14. modes.
  15.  
  16. Added Sprite_Select.
  17.  
  18. Removed #include <stdlib.h> from Window.c.GetInfo,ModeChange,ParentName
  19.  
  20.  
  21.  
  22. 28 Aug 1995
  23.  
  24. Fixed prototype of Filter_DeRegisterPostFilter - ie added last argument
  25. 'int eventmask'.
  26.  
  27. Added File_ReadExtent
  28. Added Filing_SingleDirEntry, Filing_SingleDirEntry2.
  29. Filing_ScanDir and Filing_ScanDirByDir made reenterent.
  30. Fixed bugs in Filter_RegisterPostFilter, Filter_DeRegisterPostFilter.
  31. Fixed prototype of Filter_DeRegisterPostFilter in 'Filter.h'.
  32. Added Window_MoveWindow.
  33.  
  34. Made all header files '#include "xxx.h"' rather than '#include
  35. "DeskLib:xxx.h"'.
  36.  
  37. Debug_Assert now calls abort().
  38. Renamed File_AllocLoad to File_AllocLoad0.
  39.  
  40.  
  41. 26 Aug 1995
  42.  
  43. Made all assembler files use 'GET ^.h.RegDefs' instead of 'GET
  44. h.RegDefs' so that objasm 2.00 works with the new directory structure.
  45.  
  46. Changed __DeskLib_SDLS_Stubs_<Libname> to DeskLib__SDLSStubs_<Libname>
  47. in all '!DLSources.Libraries.*.OtherStubs' files. This is because objasm
  48. 2.00 doesn't like names starting with a '_'.
  49.  
  50.  
  51. 25 Aug 1995
  52.  
  53. Changed some of the Debug_ macros so they use '(...) ? ... : ...' rather
  54. than 'if (...) ...'. This is to avoid use of Debug_ calls affecting
  55. which 'if' statement an 'else' statement belongs to.
  56.  
  57. Added bit to 'DeskLib.Docs.DynamLink.SDLS_Apps' which explains why DLL
  58. clients have to make do with the standard Error_ functions in the Error
  59. DLL.
  60.  
  61.  
  62.  
  63. 23 Aug 1995
  64.  
  65. Removed cdll from 'DLSources.Bin' and updated '!DeskLib.!DLLs' to
  66. version 1.03 of the SDLS, which has now been released.
  67.  
  68. Included the latest version 1.04 of Pane2
  69.  
  70. Made versions of the DLLs the same as the version mentioned in each
  71. sub-library's header file.
  72.  
  73.  
  74.  
  75. 2.29beta (31 Jul 1995)
  76.  
  77. 31 Jul 1995
  78.  
  79. Changed to use objasm instead of as when making OSObj header files. This
  80. should hopefully clear up the problems with link.
  81.  
  82. Made 'DLSources.Scripts.DLL.CleanDLL' remove
  83. <libname>.DLL.Header,Stubs,PlainStubs,OSObj as well as the normal .o
  84. files
  85.  
  86. Added casts from int to event_type in Event.c - cc5 complains.
  87.  
  88.  
  89.  
  90. 2.28beta (31 Jul 1995)
  91.  
  92. 29 Jul 1995
  93.  
  94. Icon
  95.   Icon_GetText
  96.     bug fix: now sets terminter in returned string rather than 
  97.              the icon's buffer.
  98.   
  99.  
  100. 27 Jul 1995
  101.  
  102. Added printer message enums to message_action in Wimp.h
  103.  
  104. Made EachDLL/Static make 'every' output error message if there is an
  105. error.
  106.  
  107. Made WimpSWIs.c.DLLPoll cast an enum to a pointer via an int, to compile
  108. with cc 5.
  109.  
  110. Changed flag-syntax of the 'every' command slightly.
  111.  
  112.  
  113.  
  114. 25 Jul 1995
  115.  
  116. Made Core.h #include <stddef.h> instead of #define NULL 0
  117.  
  118.  
  119. 22 Jul 1995
  120.  
  121. Wimp
  122.   Added Wimp_StartTask3
  123.         Wimp_GetWindowInfoNoIcons (RO 3.10 or later).
  124.  
  125. Filing
  126.   Added Filing_CanonicalisePath
  127.  
  128. KernelSWIs
  129.   Added OS_SWINumberTo/FromString
  130.   Added OS_GSTrans
  131.  
  132. Core
  133.   Removed OSCLI (now in KernelSWIs)
  134.  
  135. Error
  136.   Added error_STATIC
  137.  
  138. Window
  139.   Added Window_CreateOrig()
  140.         Window_DeleteOrig()
  141.         Window_ForceWholeRedraw()
  142.  
  143. File
  144.   Added File_GetExtent()
  145.  
  146. Wimp
  147.   Added message_FILERx messages numbers to message_action enum typedef.
  148.  
  149. A few scripts added for !DLUser
  150.  
  151.  
  152. 17 Jul 1995
  153.  
  154. Adding EasyC versions of !TestApp.
  155.  
  156.  
  157.  
  158. 15 Jul 1995
  159.  
  160. Made all headers C++ (eg EasyC++) compatible (hopefully), by putting
  161. #ifdef __cplusplus extern "C" { ... } around declarations.
  162.  
  163.  
  164.  
  165. Added DeskLib:o.Debug.uniquefile - sends diagnostics to unique file using tmpnam().
  166.  
  167.  
  168.  
  169. Menu2
  170.   Now doesn't attempt to free menus created by custom function.
  171.   Added Menu2_CreateFromMsgs
  172.  
  173.  
  174. 2.27beta (11 Jul 1995)
  175.  
  176.  
  177. 10 Jul 1995
  178.  
  179. Added debug_level and Debug1_Printf, Debug2_Printf ... Debug5_Printf to
  180. 'DeskLib:Debug.h'.
  181.  
  182. Put lots of UNUSED( reference) in library functions, to avoid cc warning
  183. against unused parameters. There are still lots of warnings when
  184. compiling, mostly 'xxx may be used before being set', and Mem things
  185. which I don't dare change!
  186.  
  187.  
  188. 09 Jul 1995
  189.  
  190. Cleaned up many of the source files - eg #include "DeskLib:Foo.h" rather
  191. than "Foo.h". Also made all sources #include the library's main header
  192. file, to ensure consistency between declarations and definitions. The
  193. header files all use cc -fh to check this sort of thing.
  194.  
  195. The DeskLib library makefiles now use 'cc -I,C:' instead of 'cc
  196. -I,DeskLib:,C:', and they all have stricter compiler checking.
  197.  
  198. Made a script <DeskLib_Sources$Dir>.Scripts.Static+DLL.MakeAll2 which
  199. remakes everything - new makefiles, trimmed headers etc. This has made
  200. my life a lot easier.
  201.  
  202.  
  203. 08 Jul 1995
  204.  
  205.  
  206.  
  207.  
  208. Removed dependancies on "kernel.h" so DeskLib can be used with gcc:
  209. Changed Wimp_SpriteOp to use a simple array of 10 ints instead of a
  210. _kernel_swi_regs. Removed #include "kernel.h" from
  211. DeskLib:Error/WimpSWIs.
  212.  
  213. NB I haven't tested DeskLib and gcc together...
  214.  
  215.  
  216.  
  217.  
  218. Made Save.h #include <stdlib.h> for size_t
  219.  
  220. Put the DLL Wimp_Poll SWI veneers into the WimpSWIs library, instead of
  221. having a separate DLLPoll library.
  222.  
  223. Added Font_Paint3 - veneer for the RISC OS 3 Font_Paint3 SWI.
  224.  
  225.  
  226. Added: Font2 library. This rovides fonts which are automatically updated
  227. on mode changes.
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234. 2.26beta (06 Jul 1995) -----------------------------------------------
  235.  
  236.  
  237.  
  238. 06 Jul 1995
  239.  
  240. Recompiled all DLL .c files and remade the libraries.
  241.  
  242. Fixed incorrect #defines of pane_HORIZ/VERT in Pane.h
  243.  
  244.  
  245. 05 Jul 1995
  246.  
  247. Put latest version of DLLManager in '!DeskLib.!DLLs.'. This should allow
  248. the DLL version of TestApp to be run.
  249.  
  250. Put the latest version of the SDLS tool 'cdll' in '!DLSources.Bin.'.
  251. This is needed only when remaking DLLs etc.
  252.  
  253.  
  254.  
  255.  
  256. 24 Jun 1995
  257.  
  258. Made a few changes to the header-file comments.
  259.  
  260.  
  261.  
  262. 2.25beta (23 Jun 1995) -----------------------------------------------
  263.  
  264. 23 Jun 1995
  265.  
  266. DeskLib now provided as 6 zip files.
  267.  
  268. Improved the StrongHelp file.
  269.  
  270.  
  271. 22 Jun 1995
  272.  
  273. Added Menu2 library - higher level support for menus.
  274.  
  275. Event
  276.   Added typedef 'event_claimorreleasefn' for the Event_Claim/Release
  277.   functions.
  278.  
  279.  
  280.  
  281. 21 Jun 1995
  282.  
  283.  
  284. Window
  285.   Added Window_GainCaret
  286.   Changed Window_GetInfo3 to return an (os_error *).
  287.  
  288. Icon
  289.   Small bug-fix in Icon.c.IncDec - caret is moved to end of
  290.   writable icon after each increment/decrement.
  291.  
  292.  
  293. 17 Jun 1995
  294.  
  295. Made all the DLLs be named 'Freeware_1.DeskLib.xxx'. This requires SDLS
  296. 1.03 or later.
  297.  
  298. Added a few short comments to many typedef structs in Wimp.h. These will
  299. be made into links in the StrongHelp file.
  300.  
  301.  
  302.  
  303.  
  304.  
  305. 2.24beta (15 Jun 1995)-----------------------------------------
  306.  
  307. 15 Jun 1995
  308.  
  309. ADDED
  310.   
  311.   Debug - a few standard functions, with a choice of different libraries
  312.           to send debug data to pipes, taskwindows etc.
  313.   
  314.   SmError - an implementation of the Error_ functions for use with
  315.             command-line programs. Error messages are sent to stderr
  316.             rather than Wimp_ReportError.
  317.  
  318. 11 Jun 1995
  319.  
  320. AMMENDED
  321.   Pane2
  322.     A few minor bugfixes.
  323.  
  324.  
  325.  
  326. ADDED
  327.   Filing (Sergio Monesi)
  328.     Easy access to files informations, directory scans, filenames
  329.     handling.
  330.  
  331. AMMENDED
  332.   Error
  333.     Added error_FIXED macro which defines a compact os_error block.
  334.     Added error_global, a global os_error.
  335.     Changed Error_PLACE to error_PLACE
  336.   KernelSWIs
  337.     Added OS_SWINumberToString
  338.     Added OS_SWINumberFromString
  339.     NB AT THE MOMENT, These are both macros for
  340.        'SWI_NumberTo/FromString', which is a rather non-standard name.
  341.  
  342.  
  343. Changed structure of auto-generated StrongHelp file - no subdirs now,
  344. because StrongHelp wouldn't find 'Wimp_Poll' because 'Poll' wasn't in
  345. the 'Wimp' directory (Wimp_Poll is declared in 'WimpSWIs.h').
  346.  
  347.  
  348.  
  349. Moved definition of 'event_taskname' into a separate file in the Event
  350. sublibrary directory. This is so that using Error_ functions in a
  351. non-wimp program doesn't pull in the whole Event library.
  352.  
  353.  
  354.  
  355. Added a Debug header and 4 alternative debug libraries. The header
  356. macros-out all Debug calls unless DeskLib_DEBUG is defined, allowing
  357. easy generation of normal and debug versions of a project from the same
  358. source code. The debug libraries are in 'DeskLib:o.Debug.' - the idea is
  359. that projects are linked with just one of them, so that the user can
  360. choose what sort of diagnostics they want.
  361.  
  362.  
  363.  
  364. 2.23beta (03 Jun 1995) --------------------------------------------------
  365.  
  366. File_IsDir returns TRUE for images now.
  367.  
  368. Made comments in all headers adjacent to declarations so that auto-help
  369. works better.
  370.  
  371. Tidied up !TestApp's static makefile.
  372.  
  373. Added a couple more example programs, including Andrew Sellor's
  374. excellent 'Widget5' image processing program.
  375.  
  376. Re-made the DLL DeskLib with version 1.02 of the SDLS, which works with
  377. Link 4.00. Still breaks DRLink though...
  378.  
  379. Changed OS_File to SWI_OS_File in 'File.h'.
  380.  
  381. Added '!DLSources.Bin.MakeCHelp' which generates simple StrongHelp files
  382. from a header file. '!DLSources.Bin.MakeHelps' uses MakeCHelp to
  383. generate a StrongHelp help system for all headers within a directory,
  384. such as '!DeskLib.H_doc.'. '!DeskLib.MakeHelp' is a simple TaskObey file
  385. which calls MakeHelps with appropriate parameters for the DeskLib
  386. headers. It takes about 5 minutes to finish.
  387.  
  388. The DeskLib help files are 1.5MB initially, but StrongHelp's 'CleanCopy'
  389. program reduces this to under 700k.
  390.  
  391.  
  392.  
  393. 2.22beta (19 May 1995) --------------------------------------------------
  394.  
  395. Fixed a very hacky bit of code in the Window/Template sublibraries - the
  396. 'TempDefs.h' was duplicated in the Windows sublibrary. This meant that
  397. Window_ModeChange was trying to access Template global variables which
  398. didn't work with the DLL DeskLib - external globals must always be
  399. referenced via a function call.
  400.  
  401. Template.h now declares the globals used by Window_ModeChange, together
  402. with the standard function veneers needed with the SDLS.
  403.  
  404. !DLSources.!Run now Filer_OpenDir !DLSources.
  405. !DesLib.!Boot now Filer_Boot's !DeskLib.!DLLs.
  406.  
  407.  
  408. 2.21beta (18 May 1995) --------------------------------------------------
  409.  
  410. Got rid of the separate 'DLL' and 'Static' subdirectories in
  411. '!DLSources.Libraries'. There is now a zero-length 'IsDLL' file in each
  412. sublibrary directory which can be made into a DLL.
  413.  
  414. Made !DLSources.!Boot set up the path variable 'DeskLib_Commands$Path'
  415. to point to '!DLSources.Scripts.Commands.'.
  416.  
  417. Added extra commands 'DeskLib_Commands:EachDLL' and
  418. 'DeskLib_Commands:EachStatic' which are similar to 'Every', except they
  419. run the given command on every DLL/~DLL DeskLib sublibrary, by looking
  420. for the presence/absence of the 'IsDLL' file.
  421.  
  422. Changed the scripts in '!DLSources.Scripts.DLL/Static' to use EachDLL
  423. and EachStatic.
  424.  
  425. Made each DLL slightly smaller by not including the stubs of 'meta' DLLs
  426. used by the original DLL. These only have to included in clients, not
  427. DLLs.
  428.  
  429. Included some (imcomplete) example code for the Print library.
  430.  
  431. Changed '#include "DeskLib:xxx.h"' to '#include "xxx.h"' in some of the
  432. DeskLib headers. This is because of the bug in cc (4) which doesn't work
  433. with such paths unless -I,C: is used.
  434.  
  435.  
  436. (16 May 1995)
  437.  
  438. AMENDED
  439.   Menu
  440.     Small bug-fix for indirected menu-titles from Neil Tarrant.
  441.  
  442.  
  443.  
  444. 2.20 (14 May 1995) ----------------------------------------------------------
  445.  
  446. This is a beta release.
  447.  
  448.  
  449. Dynamic Linking
  450. ---------------
  451.  
  452. This version now provides two versions of DeskLib - the normal one, plus
  453. a set of Dynamically Linkable Libraries (DLLs) and Stubs files which use
  454. the Straylight Dynamic Linking System (SDLS) to share DeskLib code.
  455.  
  456. (There is actually a third version of DeskLib which is used when making
  457. DeskLib DLLs).
  458.  
  459. See 'Docs.DynamLink.SDLS_Apps' for complete information on how to make
  460. an existing application use the DLL version of DeskLib.
  461.  
  462. See 'Docs.DynamLink.DLLchanges' to find out about the various new macros
  463. which are set in DeskLib headers to allow compilation for normal, client
  464. and DLL programs.
  465.  
  466. See 'Docs.DynamLink.RndDLLInfo' for extra snippetts of info about the
  467. DLL DeskLib.
  468.  
  469. Various #ifdef stuff has been added to various headers to give different
  470. compiles for DLL clients or DLL libraries. These changes are needed to
  471. make global variables work transparently under the SDLS.
  472.  
  473. A few changes have been made to various libraries to support global
  474. variables properly under the SDLS. These changes are basically to add a
  475. veneer function which returns the address of each global variable
  476. supported by the sub-library. These functions are only compiled when a
  477. DLL-version of a library is being made.
  478.  
  479. Please note that using DeskLib for normal (static) linking is completely
  480. unaffected by the presence of the DLL stuff, because of the use of
  481. various macros and #ifdef/#ifndef in the DeskLib headers and source
  482. files.
  483.  
  484.  
  485.  
  486. New organisation of source files etc
  487. ------------------------------------
  488.  
  489. There have benn some fairly radical changes to the directory structure
  490. of the DeskLib source code directory. This is to accomodate the
  491. additional makefiles/.o files needed to create a dynamically-linkable
  492. version of DeskLib. 
  493.  
  494. All sources are now in a '!DLSources' application directory, which also
  495. contains various scripts and template makefiles which are needed. 
  496.  
  497. Makefiles in individual sublibrary directories are now generated
  498. automatically from template makefiles in '!DLSources.TemplateMF'. The
  499. system variable <DeskLib_Sources$Dir> points to the !DLSources
  500. directory. The Obey files in '!DLSources.Scripts' do various things such
  501. as create makefiles, run makefiles etc. See '!DLSources.!Help' for more
  502. information.
  503.  
  504. '!DLSources.Bin' is added to your Run$Path using 'DeskLib_Run:'. It
  505. contains various utilities which are used by some of the scripts. These
  506. utilities provide usage information if run with no parameters. They are:
  507.  
  508. Makatic - Makes makefiles for a directory by adding a list of .o files
  509. to the start of a template makefile.
  510.  
  511. CTrim - Strips comments and excess white space from C source code. The
  512. output file is only overwritten if it differs from the new trimmed file,
  513. thus preserving the timestamp when possible.
  514.  
  515. Every - Performs a command on every dir and/or file in a directory. Can
  516. also act recursively.
  517.  
  518.  
  519.  
  520. Other
  521. -----
  522.  
  523. Changed !TestApp so that a DLL-version can be made as well as the
  524. standard statically-linked one.
  525.  
  526.  
  527. Added a '!DLUser' directory for user's own DeskLib libraries. 'DeskLib:'
  528. now resolves to 'DeskLib_User:,DeskLib_Core:', where 'DeskLib_Core:' is
  529. the !DeskLib directory and 'DeskLib_User:' is the !DLUser directory.
  530. This means that you can write your own DeskLib libraries but keep
  531. everything (even your header files) separate from the main DeskLib
  532. directories. This should simplify things when new versions of DeskLib
  533. are released.
  534.  
  535. Changed the !DeskLib.!Boot file to set 'DeskLib_Core:' etc.
  536.  
  537. Corrected the comments in DeskLib:Wimp.h about which window flags are
  538. 'old-style'.
  539.  
  540. Added Docs.QuickRefs.MenuData
  541.  
  542.  
  543. Uncommented headers
  544. -------------------
  545.  
  546. The !DeskLib directory contains two versions of the DeskLib header
  547. files. The ones in '!DeskLib.h_doc' are the normal fully-commented ones
  548. which should be read to find information about DeskLib functions, while
  549. '!DeskLib.h' contains 'trimmed' versions, with all C comments removed
  550. and some removal of excess white space.
  551.  
  552. The reason for doing this is that I got a bit fed up with having AMU
  553. recompile lots of source code after I'd made a minor change to a comment
  554. in a header. This was particularly bad when working on 'DeskLib:Core.h'
  555. which is included (indirectly) by every DeskLib .c file.
  556.  
  557. Using the trimmed headers also improves compilation times slightly.
  558.  
  559. The '!DLSources.Bin.CTrim' file is used to generate the trimmed
  560. headers. The Obey file '!DeskLib.TrimHead' runs this on each of the
  561. headers in the !DeskLib directory.
  562.  
  563.  
  564. Sub-libraries
  565. -------------
  566.  
  567. ADDED
  568.  
  569.   DLLPoll
  570.     This is only used by the DLL DeskLib. It could probably be replaced
  571.     by direct SWI calls in fact...
  572.  
  573.   Dialog2
  574.     An alternative to the 'Dialog' library.
  575.     
  576.   Print
  577.     Handles the wimp protocol for printing.
  578.     
  579.   Pane2
  580.     Takes care of the redrawing of Pane windows.
  581.  
  582.  
  583.  
  584.  
  585. 2.16 (Apr 1995) --------------------------------------------------------------
  586.  
  587. Put in the contact addresses for the new moderators, Julian Smith and
  588. Craig Beech.
  589.  
  590.